var path = require('path');

var auth = require('../app/authentication');
var config = require('./config');
var schedule = require('../app/schedule');
var commentAndLog = require('../app/commentAndLog');
var remoteRequest = require('../util/remoteRequest');

module.exports = function(app) {
	 app.all('/', function(req, res){
		 res.redirect(path.join('cow/main'));
	 });

	 // 登录鉴权与退出
	 app.post('/auth/login', auth.validUserToken);
	 app.get('/auth/logout', auth.logout);

	//日程管理
	app.all('/schedule/*', auth.loginAuth);
	app.get('/schedule/query-unc-count/:memberId/:startDate/:endDate', schedule.queryByDateScopeAndUncCount);	//查询某个时间段内的日程和未确认的日程邀请数目
	app.get('/schedule/query/:memberId/:startDate/:endDate', schedule.queryByDateScope);	//查询某个时间段内的日程
	app.post('/schedule/query', schedule.query);											//多条件筛选日程
	app.get('/schedule/query-repeat/:memberId', schedule.queryRepeat);						//根据成员ID查询重复的日程
	app.post('/schedule/create', schedule.create);											//创建一个日程
	app.get('/schedule/:id', schedule.get);													//根据ID获取一个日程
	app.post('/schedule/update', schedule.update);											//修改一个日程
	app.post('/schedule/remove', schedule.remove);											//删除一个日程
	app.post('/schedule/member-update', schedule.memberUpdate);								//普通参与人修改提醒时间和邀请新的参与人
	app.get('/schedule/unconfirmed-invite/:memberId', schedule.queryUnconfirmedInvite);		//根据参与人ID获取待其确认的日程
	app.post('/schedule/member-stand', schedule.memberStand);								//参与人表态是否接受任务或参加会议
	app.post('/schedule/reinvite', schedule.memberReinvite);									//重新发起邀请
	app.post('/schedule/complete-task', schedule.completeTask);								//参与人完成任务
	app.post('/schedule/restart-task', schedule.restartTask);								//参与人重启一个任务
	app.post('/schedule/commit-group-id', schedule.commitGroupId);							//提交创建好的讨论组ID
    app.post('/schedule/listQuery', schedule.lisQuery);                                      //列表显示

	//日志评论
	app.all('/comment/*', auth.loginAuth);
	app.get('/comment/:scheduleId/:start/:size', commentAndLog.query);						//分页查询日志和评论
	app.post('/comment/create', commentAndLog.createComment);								//创建一个评论
	app.post('/comment/remove', commentAndLog.removeComment);								//删除评论

    app.get('/img/head/:url', remoteRequest.getHeadImg);
};